草庐IT

Javascript OnScroll 性能比较

全部标签

JavaScript 内部函数和性能

定义clousre函数与全局范围函数对运行时和内存有何影响?functiona(){//functions(optionA)}//functions(optionB)我知道选项A具有功能作用域(闭包)的优势...假设我有1000个函数,这对运行时间和内存有何影响? 最佳答案 如果您使用内部函数,运行时必须为将来的任何调用分配和保存它们的上下文,并且每次调用包含它们的函数时都会发生这种情况。因此,很容易想象声明一个内部函数就像构造一个对象一样,其成员只是该函数周围封闭范围内的变量。如果您不经常这样做,这可能并没有那么糟糕,因为内存量与

javascript - 如何在 Backbone.js/underscore.js 的比较器中实现多级排序?

想象一个像这样的模型/集合:varAModel=Backbone.Model.extend({defaults:{a:'astring',b:'anotherstring',c:'yetanotherstring'}});varACollection=Backbone.Collection.extend({model:AModel,comparator:function(amodel){...}});如何编写比较器来实现多级排序?我想按AModel的a属性排序,然后按其b属性排序,然后按其c属性。我拼凑了一个看起来像这样的比较器,但我想知道是否有更好/更智能的方法?comparator

javascript - AngularJS 中的字符串比较

我正在尝试比较AngularJS中的两个字符串,并且我在网上看到了示例。据我了解,你可以使用angular.equals(str1,str2),你可以使用===,你可以使用==,如果你确定两者都是字符串......我已经尝试了所有三个,但我没有得到结果。我所做的一定有问题,但我不知道是什么。当我运行代码时,会调用inc1()函数。第一个警报出现“inc1called”。但是第二个警报“Insideforloop”只执行一次。它应该执行两次,不是吗?并且if(condition)中的警报根本不执行。如果我删除“if”block,则“Insideforloop”警报会运行两次。如果有人能告

javascript - 比较字符串与字符串数组的最快方法

我有一个数组,比方说:varmyArray=["ibira","garmin","hide","park","parque","corrida","trote","personal","sports","esportes","health","saúde","academia"];varmyString="Iwenttotheparkwithmygarminwatch";检查我的字符串是否包含myArray中的任何单词的快速方法是什么?下面是我的代码,但我不确定这是否是最好的方法......functionscore(arKeywords,frase){if(frase==undefi

javascript - Google Forms 性能非常慢

我有一个google表单,我正在处理一些在后台使用GAS完成的脚本,它会加载包含许多不同信息的下拉列表。表单本身非常大,大约有16个部分,它在几台机器上加载和响应上下滚动非常缓慢,包括我的台式电脑,这是一台非常强大的电脑,所以我不认为这是一个机器相关的问题。除了将表单拆分为2个表单或类似的东西之外,任何加速它的提示将不胜感激。 最佳答案 您可以暂时降级到旧的Google表单构建器,看看是否可以解决延迟问题。请记住,这会将任何实时表单的所有主题也更改回旧主题,因此您可能希望在更改给您带来麻烦的主题后重新升级。

具有性能的 Javascript 对象重组

我正在解决一个问题,我必须将一组对象从一种形式分组到另一种形式。一个例子胜过1000个单词:varinitialData=[{house:{id:1,text:"white"},room:{id:1,text:"red"},price:2.1},{house:{id:1,text:"white"},room:{id:2,text:"blue"},price:3.1},{house:{id:1,text:"white"},room:{id:3,text:"red"},price:5.8},{house:{id:2,text:"black"},room:{id:1,text:"yellow

javascript - 将真/假数组与其他数组进行比较

比较两个数组并返回包含来自array2的值的第三个数组的最快方法是什么,其中来自array1的关联值是true?constarray1=[true,false,false,true];constarray2=['a','b','c','d'];结果应该是:constresult=['a','d']; 最佳答案 使用过滤器。constarray1=[true,false,false,true];constarray2=['a','b','c','d'];constres=array2.filter((_,i)=>array1[i]);

javascript - 多次使用 jQuery $() 运算符是否会对性能产生影响?

如果我围绕一个元素构建一次或多次jQuery对象,会有显着差异吗?例如:varjEl=$(el);$.each(myArray,function(){jEl.addClass(this);}对比:$.each(myArray,function(){$(el).addClass(this);}我知道还有其他方法可以回避这个问题,但我的问题是我是否应该只做一次$(el),或者它是否真的无关紧要。这个例子是人为设计的。解释$(el)在幕后做了什么的加分点。我知道理论上还有更多的工作要做,但我不知道这是否重要...如果jQuery缓存它或浏览器都非常适合第二个请求或其他任何东西,那么它不值得。

javascript - 如何访问网页中每个资源的性能对象?

我可以在Chrome开发者工具中看到网页中所有资源的加载时间、从服务器获取特定资源所需的时间以及其他信息。我想使用JavaScript捕获这些统计数据。怎么可能?有可用的window.performance对象,但仅适用于请求的页面,不适用于页面资源。有没有办法访问所有页面资源的性能对象。 最佳答案 您应该能够使用window.performance.getEntries()获取特定于资源的统计信息:varresource=window.performance.getEntries()[0];console.log(resource

jquery - 停止事件冒泡 - 提高性能?

如果我不回来了false来自事件回调,或使用e.stopPropagationjQuery的特性,事件使DOM冒泡。在大多数情况下,我不关心事件是否冒泡。就像这个DOM结构示例一样:​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​通常,我没有像这样的多个嵌套提交回调:$('#theDiv').submit(function(){alert('DIV!');});$('#theForm').submit(function(e){alert('FORM!'